www.gusucode.com > matlab编程NSCT分解 图像融合 各个融合指标评价体系 分解源码程序 > matlab编程NSCT分解 图像融合 各个融合指标评价体系 分解源码程序/NSCT/findalph.m
function findalph = impGradDes(M, P) [n, m, d] = size(M); findalph = ones(d,1); %findalph = zeros(c,1); for i=1:d for j=1:d A(i,j) = sum(sum(M(:,:,i).*M(:,:,j))); end b(i,1) = sum(sum(P.*M(:,:,i))); end tau = 5; iter = 150000; gamma1 = 1/200000; gamma2 = 1; inv = (eye(d) + 2*tau*gamma1*A)^(-1); for i = 1:iter findalph = inv * (findalph+2*tau*max(-findalph,0)+2*tau*gamma1*b); end %findalph - inv * (findalph+2*tau*gamma2*max(-findalph,0)+2*tau*gamma1*b)